{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "%load_ext sql"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Connected: postgres@hw8'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%sql \n",
    "postgresql://postgres:postgres@localhost/hw8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Done.\n",
      "Done.\n",
      "Done.\n",
      "Done.\n",
      "Done.\n",
      "Done.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%sql \n",
    "SET statement_timeout = 0;\n",
    "SET lock_timeout = 0;\n",
    "SET client_encoding = 'utf-8';\n",
    "SET standard_conforming_strings = on;\n",
    "SET check_function_bodies = false;\n",
    "SET client_min_messages = warning;"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " * postgresql://postgres:***@localhost/hw8\n",
      "Done.\n",
      "Done.\n",
      "1010000 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%sql \n",
    "\n",
    "drop table if exists weibo;\n",
    "CREATE TABLE weibo (\n",
    "    id bigint not null primary key,\n",
    "\tweibo_id text,\n",
    "    daytime int,\n",
    "    name text,\n",
    "    content text,\n",
    "\tday int,\n",
    "\tmonth int,\n",
    "\tsentiments float,\n",
    "\tkeyword0 text,\n",
    "\tkeyword1 text,\n",
    "\tkeyword2 text,\n",
    "\tkeyword3 text\n",
    ");\n",
    "\n",
    "\n",
    "copy weibo from  'D:\\\\works\\\\GIS\\\\data-analyse\\\\dataSets\\\\nCoV_total_p2.csv' CSV HEADER;"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# 微博舆情分析与数据可视化"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## 数据集基本情况"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "数据集为依据与“新冠肺炎”相关的230个主题关键词进行随机数据采集的2020年1月1日—2020年2月20日期间共计100万条微博数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 数据集部分内容展示："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "其中每列的含义：\n",
    "\n",
    "- id: 微博序号，主键\n",
    "- weibo_id: 微博id\n",
    "- daytime: 微博发布时间, 从0000-2359\n",
    "- name：发布人账号\n",
    "- content：微博中文内容\n",
    "- day：日期\n",
    "- month：月份\n",
    "- sentiments：使用snowNLP分析得出的情感数值，范围为-0.5 ~ 0.5，大于0为正面情感，小于0为负面情感；\n",
    "- keyword0-4：使用jieba分词提取的主题关键词，取前四位；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " * postgresql://postgres:***@localhost/hw8\n",
      "5 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table>\n",
       "    <tr>\n",
       "        <th>id</th>\n",
       "        <th>weibo_id</th>\n",
       "        <th>daytime</th>\n",
       "        <th>name</th>\n",
       "        <th>content</th>\n",
       "        <th>day</th>\n",
       "        <th>month</th>\n",
       "        <th>sentiments</th>\n",
       "        <th>keyword0</th>\n",
       "        <th>keyword1</th>\n",
       "        <th>keyword2</th>\n",
       "        <th>keyword3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>0</td>\n",
       "        <td>4456068992182160</td>\n",
       "        <td>2338</td>\n",
       "        <td>-精緻的豬豬女戰士-</td>\n",
       "        <td>#你好2020#新年第一天元气满满的早起出门买早饭结果高估了自己抗冻能力回家成功冻发烧（大概是想告诉我2020要量力而行）然鹅这并不影响后续计划一出门立马生龙活虎新年和新??更配哦??看了误杀吃了大餐就让新的一年一直这样美滋滋下去吧???</td>\n",
       "        <td>1</td>\n",
       "        <td>1</td>\n",
       "        <td>-0.439334027065442</td>\n",
       "        <td>2020</td>\n",
       "        <td>新年</td>\n",
       "        <td>出门</td>\n",
       "        <td>然鹅</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>1</td>\n",
       "        <td>4456424178427250</td>\n",
       "        <td>2309</td>\n",
       "        <td>liujunyi88</td>\n",
       "        <td>大宝又感冒鼻塞咳嗽了，还有发烧。队友加班几天不回。感觉自己的情绪在家已然是随时引爆的状态。情绪一上来，容易对孩子说出自己都想不到的话来……2020年，真的要学会控制情绪，管理好家人健康。这是今年最大的目标。?</td>\n",
       "        <td>2</td>\n",
       "        <td>1</td>\n",
       "        <td>0.4999868041643475</td>\n",
       "        <td>控制情绪</td>\n",
       "        <td>情绪</td>\n",
       "        <td>2020</td>\n",
       "        <td>大宝</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>2</td>\n",
       "        <td>4456797466940200</td>\n",
       "        <td>2353</td>\n",
       "        <td>ablsa</td>\n",
       "        <td>还要去输两天液，这天也太容易感冒发烧了，一定要多喝热水啊?</td>\n",
       "        <td>3</td>\n",
       "        <td>1</td>\n",
       "        <td>-0.4940870356172161</td>\n",
       "        <td>发烧</td>\n",
       "        <td>热水</td>\n",
       "        <td>感冒</td>\n",
       "        <td>这天</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>3</td>\n",
       "        <td>4456791021108920</td>\n",
       "        <td>2327</td>\n",
       "        <td>喵吃鱼干Lynn</td>\n",
       "        <td>我太难了别人怎么发烧都没事就我一检查甲型流感?</td>\n",
       "        <td>3</td>\n",
       "        <td>1</td>\n",
       "        <td>-0.20655523503009487</td>\n",
       "        <td>我太难</td>\n",
       "        <td>发烧</td>\n",
       "        <td>没事</td>\n",
       "        <td>甲型</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>4</td>\n",
       "        <td>4457086404997440</td>\n",
       "        <td>1901</td>\n",
       "        <td>我的发小今年必脱单</td>\n",
       "        <td>果然是要病一场的喽回来第三天开始感冒今儿还发烧了喉咙眼睛都难受的一匹怎么样能不经意让我的毕设导师看到这条微博并给我放一天假呢?</td>\n",
       "        <td>4</td>\n",
       "        <td>1</td>\n",
       "        <td>0.1392079495868671</td>\n",
       "        <td>毕设</td>\n",
       "        <td>微博</td>\n",
       "        <td>不经意</td>\n",
       "        <td>导师</td>\n",
       "    </tr>\n",
       "</table>"
      ],
      "text/plain": [
       "[(0, '4456068992182160', 2338, '-精緻的豬豬女戰士-', '#你好2020#新年第一天元气满满的早起出门买早饭结果高估了自己抗冻能力回家成功冻发烧（大概是想告诉我2020要量力而行）然鹅这并不影响后续计划一出门立马生龙活虎新年和新??更配哦??看了误杀吃了大餐就让新的一年一直这样美滋滋下去吧???', 1, 1, -0.439334027065442, '2020', '新年', '出门', '然鹅'),\n",
       " (1, '4456424178427250', 2309, 'liujunyi88', '大宝又感冒鼻塞咳嗽了，还有发烧。队友加班几天不回。感觉自己的情绪在家已然是随时引爆的状态。情绪一上来，容易对孩子说出自己都想不到的话来……2020年，真的要学会控制情绪，管理好家人健康。这是今年最大的目标。?', 2, 1, 0.4999868041643475, '控制情绪', '情绪', '2020', '大宝'),\n",
       " (2, '4456797466940200', 2353, 'ablsa', '还要去输两天液，这天也太容易感冒发烧了，一定要多喝热水啊?', 3, 1, -0.4940870356172161, '发烧', '热水', '感冒', '这天'),\n",
       " (3, '4456791021108920', 2327, '喵吃鱼干Lynn', '我太难了别人怎么发烧都没事就我一检查甲型流感?', 3, 1, -0.20655523503009487, '我太难', '发烧', '没事', '甲型'),\n",
       " (4, '4457086404997440', 1901, '我的发小今年必脱单', '果然是要病一场的喽回来第三天开始感冒今儿还发烧了喉咙眼睛都难受的一匹怎么样能不经意让我的毕设导师看到这条微博并给我放一天假呢?', 4, 1, 0.1392079495868671, '毕设', '微博', '不经意', '导师')]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%sql select * from weibo limit 5;"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 微博数量随时间变化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " * postgresql://postgres:***@localhost/hw8\n",
      "50 rows affected.\n",
      "50\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 50 artists>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = %sql select month, day, count(*) from weibo group by day,month order by month,day;\n",
    "%matplotlib inline\n",
    "count = len(x)\n",
    "print(count)\n",
    "x.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "该数据集共包含了从1.1至2.19共50天的数据，从图中也可以看出：\n",
    "- 在1.1至1.20日前后，与疫情相关的微博数量约为10000条/天；\n",
    "- 在1.22前后有一个明显的高峰，对应于新冠肺炎的舆论开始在互联网上发酵的阶段；\n",
    "- 此后至2.19，有关新冠肺炎的微博数量约为25000条-30000条/天，并在缓慢增多"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "查看是否有微博用户的多篇文章在数据集中；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " * postgresql://postgres:***@localhost/hw8\n",
      "5 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table>\n",
       "    <tr>\n",
       "        <th>weibo_id</th>\n",
       "        <th>c</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>4464409348685640</td>\n",
       "        <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>4457086085339600</td>\n",
       "        <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>4455877316918170</td>\n",
       "        <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>4455826020501410</td>\n",
       "        <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>4455748258222440</td>\n",
       "        <td>2</td>\n",
       "    </tr>\n",
       "</table>"
      ],
      "text/plain": [
       "[('4464409348685640', 3),\n",
       " ('4457086085339600', 3),\n",
       " ('4455877316918170', 2),\n",
       " ('4455826020501410', 2),\n",
       " ('4455748258222440', 2)]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%sql\n",
    "select weibo_id,count(*) c from weibo group by weibo_id order by c desc limit 5;"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "该数据集中对于大多数用户只采集了一条或两条微博，因此无法对单一用户的多条微博进行分析；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## 微博关键词分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "统计所有微博中主题关键词出现的数量，按数量从高到低排序："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "对处理过的content进行分词；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table>\n",
       "    <tr>\n",
       "        <th>keyword</th>\n",
       "        <th>c</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>冠状病毒</td>\n",
       "        <td>59028</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>疫情</td>\n",
       "        <td>51060</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>肺炎</td>\n",
       "        <td>49530</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>加油</td>\n",
       "        <td>41712</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>武汉</td>\n",
       "        <td>40002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>微博</td>\n",
       "        <td>29262</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>口罩</td>\n",
       "        <td>28808</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>新冠</td>\n",
       "        <td>24207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>2020</td>\n",
       "        <td>21340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "        <td>网页</td>\n",
       "        <td>20538</td>\n",
       "    </tr>\n",
       "</table>"
      ],
      "text/plain": [
       "[('冠状病毒', 59028),\n",
       " ('疫情', 51060),\n",
       " ('肺炎', 49530),\n",
       " ('加油', 41712),\n",
       " ('武汉', 40002),\n",
       " ('微博', 29262),\n",
       " ('口罩', 28808),\n",
       " ('新冠', 24207),\n",
       " ('2020', 21340),\n",
       " ('网页', 20538)]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%sql\n",
    "select k0.keyword, k0.c+k1.c+k2.c+k3.c as c from \n",
    "(select keyword0 keyword,count(*) c from weibo group by keyword0) k0,\n",
    "(select keyword1 keyword,count(*) c from weibo group by keyword1) k1,\n",
    "(select keyword2 keyword,count(*) c from weibo group by keyword2) k2,\n",
    "(select keyword3 keyword,count(*) c from weibo group by keyword3) k3\n",
    "where k0.keyword = k1.keyword and k2.keyword = k1.keyword and k2.keyword = k3.keyword and k1.keyword != '##'\n",
    "order by c desc limit 10;"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "15 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 15 artists>"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEdCAYAAAD5KpvoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deZhcVbX+8e9LEkJIGAK0gYAhTBdkCmCARAKEWUBkEBBQEQWjMggXuTKIiuMFQUBRhiAgiCKBK2EISkAZoiRKoqAiIoNhCDJJDKPIsH5/rN2/tKFPd3XX6U5Cv5/nyZPuU127dtU5Z6+9197nlCICMzOz9iyxsCtgZmaLLgcJMzOr5CBhZmaVHCTMzKySg4SZmVXqv7ArUKeVVlopRo4cubCrYWa2WJk1a9azEdHS3mNvqyAxcuRIZs6cubCrYWa2WJH0SNVjTjeZmVklBwkzM6vkIGFmZpV6LEhIOlfSHuXniyRNl3Rym8e7vc3MzHpHjwQJSVsDK0fE9ZL2AfpFxFhgTUnrNLOtJ+prZmbtqz1ISBoAXAjMlrQnMB6YVB6eCoxrctuCrzdB0kxJM5955pl634yZWR/XEyOJg4E/A98EtgCOAOaUx54DhgGDm9j2HyJiYkSMjojRLS3tLvM1M7Nu6onrJDYFJkbEk5IuB94DDCqPDSED04tNbDMzs17SE43ug8Ca5efRwEjmp4lGAbOBWU1sMzOzXtITI4mLgIslHQAMIOcVrpM0HNgVGAMEMK2b23rEyBOmNF3G7FN3r6EmZmaLjtpHEhHxQkTsFxHbRMTYiHiEDBQzgO0iYl5EPN/dbXXX18zMqvXKvZsiYi7zVyk1vc3MzHqHJ4LNzKySg4SZmVVykDAzs0oOEmZmVslBwszMKjlImJlZJQcJMzOr5CBhZmaVHCTMzKySg4SZmVVykDAzs0oOEmZmVslBwszMKjlImJlZJQcJMzOr5CBhZmaVHCTMzKySg4SZmVVykDAzs0oOEmZmVslBwszMKjlImJlZJQcJMzOr5CBhZmaVHCTMzKxS/4VdgbezkSdMaer5s0/dvaaamJl1T60jCUn9JT0q6bbybyNJF0maLunkNn/X7W1mZtZ76k43bQxcERHjI2I8sA7QLyLGAmtKWkfSPt3dVnNdzcysE3Wnm8YA75O0HfBH4FVgUnlsKjAO2LSJbQ8s+IKSJgATAEaMGFHvuzEz6+PqHkncBewYEVsAA4BdgTnlseeAYcDgJra9RURMjIjRETG6paWl3ndjZtbH1T2S+ENEvFp+ngnsDQwqvw8hg9KLTWzr8zwZbma9qe6G94eSRknqB+wFHEGmiQBGAbOBWU1sMzOzXlT3SOIrwI8BAdcBk4FpkoaTqacxQDSxzczMelGtI4mI+FNEbBwRG0XE5yPieWA8MAPYLiLmNbOtzrqamVnnevxiuoiYy/xVSk1vMzOz3uPJYDMzq+QgYWZmlRwkzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWSUHCTMzq+QgYWZmlRwkzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWSUHCTMzq+QgYWZmlRwkzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCr1X9gVsIVr5AlTmi5j9qm711ATM1sUeSRhZmaVHCTMzKxSjwQJScMk/b78fJGk6ZJObvN4t7eZmVnv6amRxBnAIEn7AP0iYiywpqR1mtnWQ3U1M7MKtU9cS9oeeAl4EhgPTCoPTQXGAZs2se2BuutrZmbVag0SkpYEvgDsDUwGBgNzysPPAZs1ua2915wATAAYMWJEfW/Guq3ZFVNeLWW26Kg73XQCcG5E/LP8/iIwqPw8pLxeM9veIiImRsToiBjd0tJS41sxM7O6g8SOwBGSbgM2AfYg00QAo4DZwKwmtpmZWS+qNd0UEdu0/lwCxfuBaZKGA7sCY4BoYpuZmfWiHrtOIiLGR8Tz5OT1DGC7iJjXzLaeqquZmbWvx2/LERFzmb9KqeltZmbWe3zFtZmZVXKQMDOzSg4SZmZWyUHCzMwqOUiYmVklBwkzM6vkIGFmZpUcJMzMrJKDhJmZVXKQMDOzSg4SZmZWyUHCzMwqOUiYmVklBwkzM6vkIGFmZpUcJMzMrJKDhJmZVXKQMDOzSg4SZmZWyUHCzMwqOUiYmVklBwkzM6vkIGFmZpUcJMzMrFJDQULSUpJGl58PlbRkz1bLzMwWBY2OJCYBG5SfhwE/6uiPJa0gaSdJKzVTOTMzW7gaDRJDI+JSgIj4BlDZ+EsaCtwAbAHcKqlF0kWSpks6uc3fdXubmZn1jv4N/t3jko4HfgtsDjzdwd9uDBwbETNKwNge6BcRYyVdLGkdYKPubouIB7r7Zs3MrGsaHUkcArwM7Au8Any06g8j4vYSILYhRxO7kOkqgKnAOGB8E9vMzKyXNDSSiIhXgXMaLVSSgA8Cc4EA5pSHngM2AwY3sW3B15oATAAYMWJEo1U0M7MG9MgS2EhHAH8A3gMMKg8NKa/5YhPbFnytiRExOiJGt7S09MC7MTPruxqdk2hYmbv4e0RcBiwPnEqmiWYAo4D7gceb2GZ9zMgTpjRdxuxTd6+hJmZ9T+1BApgITJJ0GPAnYDJwh6ThwK7AGDIFNa2b28zMrJfUHiQiYi6wU9ttksaXbd+MiHnNbjNrVrOjE49MrK/oiZHEW5TAMamubWZm1jt87yYzM6vkIGFmZpUcJMzMrJKDhJmZVXKQMDOzSg4SZmZWyUHCzMwqOUiYmVklBwkzM6vkIGFmZpUcJMzMrJKDhJmZVXKQMDOzSg4SZmZWqVduFW72dudvz7O3K48kzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWSUHCTMzq+QgYWZmlRwkzMyskq+4NltENXsVt6/gtjp4JGFmZpUcJMzMrFLt6SZJywE/AfoBLwEfBM4D1gemRMTXyt9d1N1tZtY9TmFZV/XESOJDwJkRsTPwJHAA0C8ixgJrSlpH0j7d3dYD9TUzswq1jyQi4tw2v7YAHwbOLr9PBcYBmwKTurntgbavJ2kCMAFgxIgRNb4TMzPrsTkJSWOBocBjwJyy+TlgGDC4iW3/ISImRsToiBjd0tLSA+/EzKzv6pEgIWkF4Bzg48CLwKDy0JDyms1sMzOzXlJ7oytpSeAq4MSIeASYRaaJAEYBs5vcZmZmvaQnLqY7FNgM+LykzwOXAB+RNBzYFRgDBDCtm9vMzKyX1D6SiIjzImJoRIwv/y4FxgMzgO0iYl5EPN/dbXXX18zMqvXKbTkiYi7zVyk1vc3MzHqH791kZt3W7MV58NYL9HzB36LFq4XMzKySg4SZmVVykDAzs0oOEmZmVslBwszMKnl1k5m9rfXECqy+xCMJMzOr5CBhZmaVnG4yM+uivnTBn4OEmdlCtijPmzjdZGZmlRwkzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWSUHCTMzq+QgYWZmlRwkzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWaUeCRKShkma1ub3iyRNl3RyHdvMzKx31B4kJA0FLgUGl9/3AfpFxFhgTUnrNLOt7vqamVm1nhhJvAF8EHi+/D4emFR+ngqMa3Lbf5A0QdJMSTOfeeaZ+t6FmZnVHyQi4vmImNdm02BgTvn5OWBYk9sWfL2JETE6Ika3tLTU+VbMzPq83pi4fhEYVH4eUl6zmW1mZtZLeqPRncX8NNEoYHaT28zMrJf074XXmAxMkzQc2BUYA0QT28zMrJf02EgiIsaX/58nJ6BnANtFxLxmtvVUfc3M7K16YyRBRMxl/iqlpreZmVnv8ESwmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWSUHCTMzq+QgYWZmlRwkzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWSUHCTMzq+QgYWZmlRwkzMyskoOEmZlVcpAwM7NKDhJmZlbJQcLMzCo5SJiZWSUHCTMzq+QgYWZmlRwkzMyskoOEmZlVcpAwM7NKi0WQkHSRpOmSTl7YdTEz60sW+SAhaR+gX0SMBdaUtM7CrpOZWV+hiFjYdeiQpO8AP4+IGyUdAAyKiEvaPD4BmFB+XRe4vwersxLw7CJcXk+U6TouumW6jotmeYtTma1Wj4iW9h7o30MvWKfBwJzy83PAZm0fjIiJwMTeqIikmRExelEtryfKdB0X3TJdx0WzvMWpzEYs8ukm4EVgUPl5CItHnc3M3hYWhwZ3FjCu/DwKmL3wqmJm1rcsDummycA0ScOBXYExC7Eudae1eiJN5jr2nTJdx0WzvMWpzE4t8hPXAJKGAjsBd0TEkwu7PmZmfcViESTMzGzhWBzmJMzMbCFxkDB7m5Ckmsurfc6y7jpaz3OQWARIGiZpdUn9JdW2T+o8IXuiwWhTdi3vWdLK5bPsV0d57ZRf576p9dyTpKgxdyzpy8AmNZa3paR+ddaxbpJWlLRUD5W92La1i23FF0WSdpK0UhefsxmwGrA3sCzQVAMnaXtJRwPUdUJKWi0iXi9B7L/qKLOUu6OkpSPizRrK2gvYD9gXWL5sazpISjpF0kkANdXzREkr1VFWKW8JSWcBp0oaJ2n1Gso8AxgZETObryFIOhw4BthE0nBJg2sqt7aOi6QVgIOAcZKWqbHcoyQNi4g36wgUrWVIWl/SRs3XsHMOEjUpJ8JxwGhJa0lq9xL3BZ6zHXA92bjtDHwOeH95rMsngKSlgd8A60taVtKBkppaMizpPcD5ktYHrgAulTSqmTJLud8ADgf2b/bkkbQzsBWwHLkK7mhJy0RENDOqkHQaMBrYspyUTQWdUt6+wIfK73WM9E4kOxZXkT3//SVt2kQdv0f2Lz4qaXdJw5qpnKQTgI8CLcD6wO7AWk2W2U9SS0S8Xn5frdnPMiKeIy/c3RDYqI5AIWkgsDRwpqShNQWKZUpH7RxgH0nL9fQoxUGiBuXutB8jP8/hZIPfYY9b0juAl4EbyHtPPQ48A+wmaanSc294/0g6DPhoRLxUyjoA+Eybx7u8r0t64E7gB+T1KrOBTwGfbLIhOo28D81XgaVae9XdOdHLibg22fDsCwwA1iADLnTzWqASxD4O/AE4iwzkR7V5vEt1lfRNYEUy6Dwr6V3AqjUEir8Ar5Ve/9XAo8Ae3RnxSfp2qd/VynumfRH4lKQVu1OxEiCOBV4DflTq1gI8XEYUK3SjzIFkYJws6VBJk4CTgLW6+1lKmiBpLLApeR3WGGDjZgKF8sakRwA/A+4Avi1phRIounOcS9K7yYuLvwL8krxP3Zt1jUqrOEg0SdJxwJHl12uAB8gT4UlJq0p6ZzvPeXdEPA1sCwwkD6RXgB2BEWTPfblGex6ShgBTgE9IurlsngZ8AFgZupcqiYg3ygG9J3lwLg/8sZT5ne6MKCQdD2wUERMi4vfkyXh8eb0upcckLQesTvbW1iZ7gkuQPdbXJH2GPDmX68qJWdIt2wKnA38ir/gfCwyQtEbbujZSrqQzgeUj4rDyvC+Sjebfy2inS+dhaTAOL+mGl4A3JW1QriH6FXksdSlIlPc8APgeGRSfjogtyVvinFA6NV0p70hgH/J8eBJYivxMjwIuKPVrTZ00vG8i4lXgebKDNYvsZF0OPNSd9KqkY4FtImI6uU8eJu/ssAU5ohjSjTLPA7YHrgUOBu4Efg/8VNLgss+7FCjKe+sHTAe+AdxDjp4nSFq5q3XsCgeJJkg6iuxh3gc8xPwT4RPAj4HNyQO67XPWBY6StDfZm36SbIjWJRvg28m0wXckLd9g4350ef55wE3kQfRS+bdL60EkaZNG0geSRks6RtJXgP8hb9V+IHky3k3eaPFL5DB6ywbq11rufkAA/5a0t6RNyB7/oI6f2W5ZewNbkwF5CPAC8C8yWFxF3i3zM8D0iJjXaAMi6RQyuN4HrEBe5b8NcCsZxPdWTnDuL2nJzsotja8iYoKkoaXHeiPZeB4GXQvgpXG5FHgP8Gmyl/4QcJikURExhwwSRzQafCSdDywTEYeTx++dwA8ljSB76XMpox5JAxoob3tyju0l8jyYSs63bQlcR47udgJOKr31rvasf1jqOAR4N3m+HSjpWEnrNVKAciL9m+Rn9Q5J15P79+dkoBhPjig2U6ZxGyLp9PLjWsAJwKtkevFqYBKweSPHzQJlrq+cx5lY6rtJRNwQEUcBq5BZgx6zONyWY5EkaTTZu/wX2QN5jdxh48gT4QXgg8DBkk4kG4XWxuwM8gB6GbiMzM2/DPyTPHn2A/YgG5EzKl6/7WqWX5TXf2epzzFkALqRTOnsVE74HYH9G3h7c4C7gKeBoUCUoe77gUeAJcle4lJkDvzu0sOr+qyGAKeQcwafI0/yrYADSz1Xl/R+8gQYC9wCzIyIf3dQx3nkZ/0g8BQ5/N6fTI09AnySPClXVqbv/tXZmy6BZ38yuLwDeB1YlUwXrEr2tJcEzgXu7aR+SLoMWCIiPizpHDLQDAeuLHW+opz8rwM3RUQjt7kfA7wREQdL+jDw6YjYV9KngL1Kiudl4CeNBB9J44CfRcS1ytvurxUR45VzbMtExGmS7gVOJj/rVyR9pZOyZwFfIDsuj5D7ek+yJ3wr2cOeDMyLiBcaeM9I+h8ymDwI3AaMBDYgz6uVyM7Y+4FfN1JeKWdd4Ftk7/wY4A3y/LsAeKyUuQd5XN7VQB3/l5x/OZQMiPsAR0fEzeXxl8hz+lel/fhHRPytkzK3ItOo08k5wb8C7wMuk3QqsF5EHFf+dgfgiYi4r8HPoCEOEt33B/LE2Qp4guzZ7VEeuw/4LtkYLh8R9yvzuluSgeIlSo+aHM0dSY4C9gYmRMQDkh6mgwOzDFl3JBuva8h89zDgeDJQXEKmSyaTJ9QtwBUR8UxHb6qkFRQRv5Z0CNkoigxca5K9lp8Ar0TEVqVX1GFjGREvlkbyKbKR/GdEXE3mvseSI6Gdy+e4LJmCa7cRknRoeW/TySD1CXKu5BpgRqnv4eTE3k1kz3AS0OHJWOp5TanPysAvIuJh5QKCHcigcSuZs78nIr5a6vOWpafKifQVyIZmiKSzgX8wv3FcAbiX7F1OJzsTu9HYd6E8Ro42iYjLy2sREedLWovswb5Qyu9QqddHgEPKpsnAh5TzWz8ELimB4x4yrXNtvlR1gJC0NTkyfJpMTw4jG95fl7qvQY5CBdxVRkZqIKDNIDtRTwPvIgPryuS5NpAMRgJelbREZ+VFxD9K8DucTNU+RZ6b25HH0AnlHHsvcIykj1SVWfbBiuRndDrZabuPbA9+rLyt0DLkuXMkOUo5mjx2O/MYeQyfRe6Tm4Ady77bhEyrLku2P58i50Fq5SDRBa0NQkkD/VPSPLJ3PJzMQf6WXF20NdnoDwbul7Qb2StZm2zM5pK59IfJxjfIHXwe2YAAXFs1JJW0B7ALsDE5uRrkSGJpcoQyi0w5bRIRP+zC+1u71GescuLydeDvZLDamjxgzydz6Z8sT3u9gXLXIYfdO5by50g6PSLmRsT0MoqYVOYoOrMmmdPfgDx5flp+fp1sJL5O9i5fIxv2D0XEIx3UrXWfbkBOAn6uBIb+kr5K9tznkWnBPcn0VWWAKE4B7ouIQ8sJ/CIZ0K4me/mTgb9GxL8kfY7s0X67gzouAXyNPIamUIKEcuXWqpJWI/PoKzS6v0sabDB5nOwliYi4XtIHyBHoPOA0YFRE/IY8rjsqb1ny+D6tPP+n5OhuDvBeMkV5HfD98vjXyZFEkMdve2UuRTZ+MyJiWtl2ENn4TipBfSeysX0aeDIi7m7gvW9NjhqeIhvt1uB1FRkID2L+VMmt5fU7CjqnkEFhAtmhuJ5cJTWXbBc+S6acziQD57HAZ6Od+9CVfb1GRDxU0nbjyWPnz+T5fRLwf8D2ZcS3CZnOexI4vqQba+Ug0QWlMdkO+GxpQP5Gfmveg8q5huXI1MSHyCHx2eXnCWRP/sNkOuVksmd5M9l7PpRs5I4HTpP0W7JhqbI02fM8h5yk/TF5sp9E9rb2IyfMXm59QgcNWuvjA8lh7Gul3COBMyLiV+WxI8jg8zrZk6ezHlsZibROLl9FjqBOLHU8VNK/I+ICsrf5hqT+kau62uud70meCLeQq1BuJb+A6lxykv5jZdveZeQ2JCI6+gzbBojtyUb4dknTI+I6SUE2JMPIRm238t7v6ei9K/P760fEe8qm7cmG8jQyaN1D9qxHlFHbNsBRnaQdvk6muv5cyltC0s8i4i+SZpK90s3IFFunSlpkcER8QrkKZwdgP+Wy4R+XTs1hZFDvsNEpLelYMuX6ALmfrwfWIz+/e8ng8G6yg3FnRJzaQB3HkcfwK8BBkt4kR1prk52DTctxOYRMW24JPF8C/BvtHettAtk3yWD7G7LT9ioZ0H5NBscdgC0iYkZ5Xx3V83zgXa37W7mq7Doy9du6KmwbMkCMJtNRH4+Iv1QUuTS5AGUF8tw+Cbg7Ip4v++VLwKURcXL5+1XJfXRMRDzWUV27y0GiQcoVOH8je+6/IQ/e5YEHyg6dSg5VrwJui4hTJS1PNgpLkw33lWTD/V7mp4n+CFxE5kTPI3u+b1TUYWNyiD2OHLoeX/7/X7Lx+HdE3AhcLOkIMpUBVK8ckrR66Wm/SfbGtiJ7vMcDZ5SG+zZJc0p5vyF7Xh1OuGr+BOdA8oQcRqY1DoqIlyXdDWyonBR8OSL+UFVXSauSvcc3yZ7lX8iT9y6yYfwsuUJsZ+CPkp6KiH9W1a3t65SgfxLweTL1N1rSG8CNEXGKpDvJAHkLmU54fMH3XhrKpSLilfI3y5VGbhVyhLA/GRgGkgsBniYbgA2BYyPiwYrPUGT67W5gnRK8RpLH2T5lNBCl/B2rylmgzNPJXvM5yrz4MuQ+/RHwRUkvRsR15MV5R5Cpk6qyWoPss2SO/0pyHx1INrSvlPd8A9mrXjki/rftczuo6krkV2ruUo6VO8lAeR/ZoD/D/DTZZWQH7GtRrp1YsJ78ZyCbRI4Y3kWOyn5Ljsz3JDt3t5D7qPJ989b9vTXZCTiJTB9eSB6Pu5Pn9nAy6HUUIFpTs9PI0cahpcOzinLxyVByXudgSXeQS4oPA07sqQABDhKdanMwb0o2xJPJk3ZlcgRwPhkIbiVPhLsj4rwybHwfOaR/FngxIr5VyvwqeaJ/IyL+LekJsvf+RAcBYgdgHTIonFXqMIJcGfUEebB+QdJD5In5KbJH09F7G0+mGr5FpgHmkSfcwWSg+DTwvdII/A44MiIOa/Cj25o80W8n00ODgd0jonV08wo5yrqG/L6QZYEX2gkQ7yNz7EuTAWImucrqC2RwXQX4r4iYIWkQ2aOc2kgFS4D4AnByRNypnGAfCrReyTqFXO1zf0ScVlGGyGNj/bLPRwJfJuek3iQ7FR8j8+7TlBclToqI+9TBhHop62KyIzIDaJG0RkT8rTQirb3nK4HzI2J2A+/3IvIY21d5243RZIM7gez1/ptciLAkeXx9kNw/7SoBYjeyEZxannMQOdH6XXIEdgy5/y5rPbYbGIH+N9kR+Hup8+OlrFPIEfjT5Dl3ffkcAvhYe59lB4HsI+Q5+Ao54p9OrkbcgUxbvlJRt87298fI4HU52TZcSB63R5ONfmWAUC7ZHkB2It8oAWIQeS4uTx7vW5PzTh8m5wYPi4h/VJVZBy+B7UQ5wEaTjccU8gD9EnlBywzyhFg7Ip4CbomI89o8fX2yB3gFMFPSfsqJ12XJ9exrStqfDDYPlDLeovTKNyNzqBPJA+6/gVPJA+cj5El+AdnTeBTYubPeRUTcRvbIricb3zvJkcTNZM99STLgnE5O1B/XwEeGpF3IVUw/IQ/ogaXu49r82b/INNGrwNUR8XxFz3JLshEYQgbE88kRxNdLPV8GblBeoDcMOC/ygsLO6ji2lHFsCRD9S3pqanmvG5RUzJ0R8bnynLcs1Sx1fpLsqR5GNhSjyJ7q0+WxC4HDyyhgcnlPVAWI4tTy3M+QE5RjyAst1y4jhiXIXunvGwwQ65HH6p+VE63PkXNiZ5HLfIeSHZ0ryYZ9WeB9EfFERXmtn8Uh5P69mWzIxpJpyS2Zvwz2G2TjS3nfHQWIT5P59p+R58ifyTTTqeR++SmZvtmwvM4ZWWT7n2WbQPZd5geyDcngPYUc2e1LdjamkUHolIj4e1V5dLy/nyL39wRypDKcTGUe10mAOLHUa//yeZ0paQqZWvta2T6SXPI9gEx/zunpAAEeSXRK0uZkL6Y1j7kdea+lV8gTY3NyjfbAmD+5JvKzfRrYQXnB3TVkCmc98oAaQwaHjYDDO8qfR8RrkiaTy/XuIucg9i71+Hmp37Zkrv/qcsJ0mG5pM0Jaiwws/SLibOV9gPYiey/fJ/PKuwIDG2x8NyBPnsPJwPbxiNixBI6TlReADSNPnnsjYm4nRd5LBoK7ynudR55EL5CB8Vay13kx2Vuf10Ad+5H77ZfluUTOhQwoud9byMbjIbJR76z3u0Yp73Ry9LhnRGwu6e9kz/r88u88MnBe3VkdyQbw8Yh4VNKlZLpyaeAA5f2ZXiXTIg0p8xfbkh2cQWTjui95DN9PpkomkcfCZ8gVaM9XFNc2JXgd2WgfTs5nXUn2oqeRKbznyAvo2m102yr5/BXJxR47kA3uH8iFCduQI+Yh5LzfVuQI/baq/dLmGD+E+YFsRf4zkA0kj69vkQ35FZ3Vk8b293nl8SuBD1R1AEs9R5BZihPJYE1E/LykWY8DpkZe2HoveSHqFEm7RScrFeviLx2q0NooKFf8nEuOGn5J9pBvIQ+0e8q/XcgrNLdp7dEo5yk2JU+6L5FzD5eT+fz/IkcDXwQeabQ3oFzi+C1yePsBsvGezvyh7iHAaY00lG3KXDNyqed3yXTDcWTq6yUyH71hRHyrgRxya3nLl7qMIUdbQX52d5PL9zYmJ/XWIq8NuL2T8lons68me5XXkj21M8kU1oFkYPxuo++5lLsyme56odTjkTaPfY9MOVwDzIq8r09VOf3IvPMGZAO2I5n7HkD2JO8ge3y/KIHy3oh4vIH6rUqmKOcp18p/MvLaiA+QwfdmMp0+K28AAAg1SURBVLXZ6dzLAuW+izxeTiYb2f8h503WJ6+XeFF5+4jK99ymrOHkefAPsuc8uLzvI8nj+/zO0moV5Y4kc/Ktdyv4Njl3siu53PnO8vufGsnFK68n2ab8+hp5rUFrINubDGSfIdOAf+ykrK7s7/eWOjayv8eQqao3yYno6WSA3AFYOiIuLinCuRFxdmfl1clBooLK+n9JnyBTI7uW/1eMiD2Vl/MvGzm5uRbZuXq4nXJGkA36auTBc2YZ/u5CrsVuN/fZQb3WJXvNb5JL/84CzomIGzvL9VaU9/+fUwLFTZFLISeTDfGsRkYQC5S5GRnITiJHDMeTwXU98j5DV3alvFLm0eRn9iUyNfBxMmAuRS437fREbKfMVcgg8xJwVUQ8J2ki8FJE/HcXy9qZbBxPI+dyNiHTeEuTnYIPNdLwVpTdjxw93UWO0g7qblmlvM3IkcQvyBHkV9TAarAOyluZbNRfIOfNWsh9cmw3yxtMXjg2gxzdfJcc0bWOVFYCHm3kWO/BQFb7/lYuTPkkOdK7nMxeXAesEhGflnQFmQpr5Hqa2nhOYgGS3ilpTXKoCDlSuJzsfbwBLFt21orkqggi4qH2AkQxr5TxdfLCqs3Ig/WCrgaI8lr3k2mqZ8kJvRvIWzCLivXmnZTX9oZjt5B3PF2SDGoPdDVAFA+QB/so8oS+vPzbvNS3Oy4kR17bku/zBuBvEXFzdwIEQMk7X0Ge2HuV0cqzrQFCXbun0iwyb7waOYq6lEyPTCHf+8Du1LHsm8Fkh+AE8grebgcIgIj4HdlAjqHc46m7AaJ4lUwL3kmOcL4PrKe8W2uX25hyzE0lr1jemgw8e5C96s0jYnajnaGIeCIi/o9MKz5Ozr09S96j6o0oVyd3JUAUte/vyBV+55PH9ytkenUa2dECOLi3AwR4JPEfSgN+NtlTn0yu7pgTETcob3vQ2piuRh60u1RNcLVTdn9y0u1c4JfRyVXKDZS3a6nH66W8ygvGulDmO8mTcw9yFczLnTyls/JGksHicTKPewNweyNpqw7KXIlckvoP4KLuBNp2ylyFDNzjyfzxc42m1xYoZwCZitid7AWvAfw4Iv7cZP1ETl5eVmcjUVJPl5Oru35WQ3mDyKB7FvDraGc5ahfKWpJM6exGjuDPJxve1zuaK+mgvKHkbTseJxvdl8nO1h50chV5B2X21P7enOwUPESm2i4nU1EvNnPudLs+DhKpzRzEvuSQfiqZ3jg0Ih6XtAW5hG4vssfwOtnTbrhxVq6Seq6DUUdX6jus1O9HUbFstpvlHgHcUEfQKeUNJ9MFjwJf7M4J3k6ZLeTV0bWt7Cgpkw8CF9YQHA8ie4NjgbOik/vzNFhm/2Ya3Q7KHUNeQV/X/h4FEBH31FRe69zRtdHAdSANlFdbIGtTZk/s71HkxP8XyHnLro50auMgAShvC7EaMLFMkn6H7Fl+JCKuWuBvtyFTRzvX0YttRlmN81rNZfarOej0I3tsP4+IR+sqtyfU1RArv2Cms1Vb1qAyR/Fas6PvNuXVHch6ZH8r77D8WFQsQ+4tfTpIlGF8P3JSel1ymd6y5GjhQXKoezk5IfcYuZrkPpV7Ny2cWi9+6g48ZtZ7+vrE9Rql5/ggefO0JckVOBMiovW2FpeQgWQzYE/ldzI7QHSBA4TZ4qvPXkwn6VzyCtbPkhcSvYuch1iGvMDtEXL99LYx/34znd4W28zs7aRPBgnN/0aqvcmL3PrH/IvgDiWvkh5EjiTafg9vrfl/M7NFXZ9LNynvnPmOiPgs+d0Ev6N8+1tZXvkqeVfMZcmlbVtJGtCdJZFmZou7PjWSUN6XSBFxSNk0l7ywpgUgIp6VdCt5kdyG5C0ALqx7BZGZ2eKiz4wkJP2A/E7ZYyR9tdwa4wDyqs77JV1S/vTRch3DTcDX61jzbGa2uOoTQaLcP2kP8gvILyVvj/0zctXSLuSN49aWtDtwgvKmd69285YUZmZvG30i3RR5u+UtyMvxryC/fWoyeYn+o+S8xAPM/xL5Zu5jY2b2ttEnggTkTfiAh8rtLG4mr7D+BXlH0dbvVTiY/BKayq8uNDPrS/rcFdfKLzbZnPIduuTNw/qTF8sdHhF/XYjVMzNbpPS5INGqpJ82J2+7sQowr9E7upqZ9RV9YuK6wlPAnsBKEfEXBwgzs7fqs0Gi3Br5AvI6CTMza0efTTeB705qZtaZPh0kzMysY3023WRmZp1zkDAzs0oOEmYNkHSIpEMW4uufImn8wnp967scJMzMrJKDhFkXSNpA0q2SlpN0taQ7JH2vPPZlSQeUn0+RdICkmZLeIekpSatIulHSQElXSLpd0o8kLVmec5uk0yXdVH4fKumWcvv68QvrPVvf5iBh1rhVgB8BBwIfA/4UEdsAq0jaGLgMOKj87S7AtcDD5effAjuTN5P8RHnutuSNJT9enjMGmB4Ru5TfJwA3RMR2+FsRbSFxkDBr3JHknYNXB9YF9pZ0G/kNh6uWm0guU+YO/hQRr5BBYX9gCrAfMAtYn/z2Q4AZ5PerU57z0zavtwZwT/l5Zg+9J7MOOUiYNe6rwKfL//cDZ0fEeOBk8pbzAD8BLiZHFQC/B7YHbiFHFL8D7iVHDZT/7y0/L3iL+keBDcrPm9T4Pswa5iBh1rh/RcRjwF+AvwG7SroD+BTwWPmbq8lbz/+q/P474BEy7fR0uR3M94ENynPXAX5Q8XoTgQ+U0cqytb8bswb4imuzmkjaALgEuCAiLlrY9TGrg4OEmZlVcrrJzMwqOUiYmVklBwkzM6vkIGFmZpUcJMzMrNL/A/BiwNm+S3tHAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select k0.keyword, k0.c+k1.c+k2.c+k3.c as c from \n",
    "(select keyword0 keyword,count(*) c from weibo group by keyword0) k0,\n",
    "(select keyword1 keyword,count(*) c from weibo group by keyword1) k1,\n",
    "(select keyword2 keyword,count(*) c from weibo group by keyword2) k2,\n",
    "(select keyword3 keyword,count(*) c from weibo group by keyword3) k3\n",
    "where k0.keyword = k1.keyword and k2.keyword = k1.keyword and k2.keyword = k3.keyword and k1.keyword != '##'\n",
    "order by c desc limit 15;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "对所有主题关键词，取词频数为前100位生成词云图；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "100 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'echarts-wordcloud':'https://assets.pyecharts.org/assets/echarts-wordcloud.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"e1ffc72bfc00493ea1d755238c038678\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'echarts-wordcloud'], function(echarts) {\n",
       "                var chart_e1ffc72bfc00493ea1d755238c038678 = echarts.init(\n",
       "                    document.getElementById('e1ffc72bfc00493ea1d755238c038678'), 'white', {renderer: 'canvas'});\n",
       "                var option_e1ffc72bfc00493ea1d755238c038678 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"wordCloud\",\n",
       "            \"shape\": \"circle\",\n",
       "            \"rotationRange\": [\n",
       "                -90,\n",
       "                90\n",
       "            ],\n",
       "            \"rotationStep\": 45,\n",
       "            \"girdSize\": 20,\n",
       "            \"sizeRange\": [\n",
       "                20,\n",
       "                100\n",
       "            ],\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"\\u51a0\\u72b6\\u75c5\\u6bd2\",\n",
       "                    \"value\": 59028,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(66,89,22)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u75ab\\u60c5\",\n",
       "                    \"value\": 51060,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(36,67,29)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u80ba\\u708e\",\n",
       "                    \"value\": 49530,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(137,62,16)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u52a0\\u6cb9\",\n",
       "                    \"value\": 41712,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(124,116,147)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6b66\\u6c49\",\n",
       "                    \"value\": 40002,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(144,152,116)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5fae\\u535a\",\n",
       "                    \"value\": 29262,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(50,143,104)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53e3\\u7f69\",\n",
       "                    \"value\": 28808,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(50,106,9)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65b0\\u51a0\",\n",
       "                    \"value\": 24207,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(61,150,34)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"2020\",\n",
       "                    \"value\": 21340,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(49,2,105)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7f51\\u9875\",\n",
       "                    \"value\": 20538,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(159,9,3)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u75c5\\u6bd2\",\n",
       "                    \"value\": 17868,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(77,56,138)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u786e\\u8bca\",\n",
       "                    \"value\": 17789,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(22,135,159)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u75c5\\u4f8b\",\n",
       "                    \"value\": 16292,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(143,44,132)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65b0\\u578b\",\n",
       "                    \"value\": 15416,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(20,98,53)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9632\\u63a7\",\n",
       "                    \"value\": 15193,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(16,23,48)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6253\\u5361\",\n",
       "                    \"value\": 14663,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(101,44,119)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u81f4\\u656c\",\n",
       "                    \"value\": 14458,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(132,28,146)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u94fe\\u63a5\",\n",
       "                    \"value\": 11405,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(37,73,49)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u60a3\\u8005\",\n",
       "                    \"value\": 10635,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(71,132,113)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"10\",\n",
       "                    \"value\": 9513,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(91,44,160)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9694\\u79bb\",\n",
       "                    \"value\": 9228,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(4,160,133)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u89c6\\u9891\",\n",
       "                    \"value\": 8844,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(54,47,43)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u62a4\\u4eba\\u5458\",\n",
       "                    \"value\": 8758,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(152,113,8)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u611f\\u67d3\",\n",
       "                    \"value\": 8441,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(17,133,34)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u751f\",\n",
       "                    \"value\": 8206,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(7,91,8)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u9662\",\n",
       "                    \"value\": 7915,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(120,138,91)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u51fa\\u9662\",\n",
       "                    \"value\": 7913,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(48,116,30)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e01\\u9999\",\n",
       "                    \"value\": 7777,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(157,131,45)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u949f\\u5357\\u5c71\",\n",
       "                    \"value\": 7707,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(104,101,135)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u97e9\\u7ea2\",\n",
       "                    \"value\": 7542,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(5,65,123)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6297\\u75ab\",\n",
       "                    \"value\": 7521,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(49,13,73)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u536b\\u5065\\u59d4\",\n",
       "                    \"value\": 7499,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(80,39,144)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u590d\\u5de5\",\n",
       "                    \"value\": 7330,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(82,34,1)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cbb\\u6108\",\n",
       "                    \"value\": 7323,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(63,160,2)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u91ce\\u5473\",\n",
       "                    \"value\": 6946,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(123,1,23)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u73ed\",\n",
       "                    \"value\": 6790,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(89,96,14)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6218\\u75ab\",\n",
       "                    \"value\": 6600,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(23,13,43)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"2019\",\n",
       "                    \"value\": 6503,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(92,68,144)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u7528\",\n",
       "                    \"value\": 6271,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(144,71,62)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6e56\\u5317\",\n",
       "                    \"value\": 6066,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(139,69,93)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f00\\u5b66\",\n",
       "                    \"value\": 5977,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(107,157,63)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8096\\u6218\",\n",
       "                    \"value\": 5865,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(14,47,22)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8bd5\\u5242\\u76d2\",\n",
       "                    \"value\": 5847,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(34,100,155)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4f20\\u64ad\",\n",
       "                    \"value\": 5838,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(71,31,67)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9152\\u7cbe\",\n",
       "                    \"value\": 5748,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(6,136,126)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8f6c\\u53d1\",\n",
       "                    \"value\": 5704,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(82,135,55)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u7597\\u961f\",\n",
       "                    \"value\": 5654,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(155,76,134)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d4b\\u4f53\\u6e29\",\n",
       "                    \"value\": 5608,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(81,160,27)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"20\",\n",
       "                    \"value\": 5602,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(91,16,91)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6731\\u4e00\\u9f99\",\n",
       "                    \"value\": 5456,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(13,11,51)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u54c8\\u54c8\\u54c8\",\n",
       "                    \"value\": 5447,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(55,51,83)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d88\\u6bd2\",\n",
       "                    \"value\": 5403,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(76,48,27)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u767d\\u8863\\u5929\\u4f7f\",\n",
       "                    \"value\": 5326,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(6,141,121)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53d1\\u70e7\",\n",
       "                    \"value\": 5300,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(4,141,131)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8759\\u8760\",\n",
       "                    \"value\": 5283,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(97,136,114)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"14\",\n",
       "                    \"value\": 5203,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(42,2,156)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7948\\u798f\",\n",
       "                    \"value\": 4957,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(90,18,160)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"12\",\n",
       "                    \"value\": 4940,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(129,18,116)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u674e\\u5170\\u5a1f\",\n",
       "                    \"value\": 4816,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(10,86,30)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5fd7\\u613f\\u8005\",\n",
       "                    \"value\": 4725,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(73,30,8)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u767d\\u8863\\u6218\\u58eb\",\n",
       "                    \"value\": 4617,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(152,137,12)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c01\\u57ce\",\n",
       "                    \"value\": 4611,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(101,36,38)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u771f\\u7684\",\n",
       "                    \"value\": 4610,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(1,156,86)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u75ab\\u82d7\",\n",
       "                    \"value\": 4606,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(66,31,3)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"24\",\n",
       "                    \"value\": 4594,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(42,46,159)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"SARS\",\n",
       "                    \"value\": 4498,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(11,44,157)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8054\\u63a7\",\n",
       "                    \"value\": 4492,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(45,70,111)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"30\",\n",
       "                    \"value\": 4429,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(149,119,42)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"N95\",\n",
       "                    \"value\": 4373,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(117,128,131)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9632\\u75ab\",\n",
       "                    \"value\": 4337,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(121,76,158)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7269\\u8d44\",\n",
       "                    \"value\": 4182,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(125,65,150)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u52aa\\u529b\",\n",
       "                    \"value\": 4179,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(75,60,72)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u793e\\u533a\",\n",
       "                    \"value\": 4163,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(90,45,107)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7591\\u4f3c\\u75c5\\u4f8b\",\n",
       "                    \"value\": 4021,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(156,11,90)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"17\",\n",
       "                    \"value\": 3993,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(84,137,73)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5ef6\\u8fdf\",\n",
       "                    \"value\": 3945,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(78,132,113)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u54b3\\u55fd\",\n",
       "                    \"value\": 3930,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(112,54,117)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53d1\\u70ed\",\n",
       "                    \"value\": 3868,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(68,123,153)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u674e\\u6587\\u4eae\",\n",
       "                    \"value\": 3850,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(92,86,63)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e73\\u5b89\",\n",
       "                    \"value\": 3740,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(12,135,20)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e16\\u536b\",\n",
       "                    \"value\": 3731,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(81,111,8)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"...\",\n",
       "                    \"value\": 3679,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(51,46,21)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"15\",\n",
       "                    \"value\": 3646,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(31,43,96)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u533b\\u836f\",\n",
       "                    \"value\": 3633,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(128,84,79)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c45\\u5bb6\",\n",
       "                    \"value\": 3633,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(0,94,8)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9632\\u62a4\\u670d\",\n",
       "                    \"value\": 3614,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(86,78,136)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u914d\\u56fe\",\n",
       "                    \"value\": 3576,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(2,125,107)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u52c7\\u6218\",\n",
       "                    \"value\": 3568,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(50,90,24)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u706b\\u795e\",\n",
       "                    \"value\": 3552,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(135,141,24)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u76f4\\u64ad\",\n",
       "                    \"value\": 3550,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(77,132,152)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53cc\\u9ec4\\u8fde\",\n",
       "                    \"value\": 3531,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(140,78,145)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"11\",\n",
       "                    \"value\": 3493,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(72,139,94)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6350\\u8d60\",\n",
       "                    \"value\": 3461,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(130,36,130)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65e0\\u75c7\\u72b6\",\n",
       "                    \"value\": 3411,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(69,66,81)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u963b\\u51fb\\u6218\",\n",
       "                    \"value\": 3380,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(28,85,76)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u51c0\\u5316\\u5668\",\n",
       "                    \"value\": 3369,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(100,39,149)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u533b\",\n",
       "                    \"value\": 3338,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(77,121,101)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6f5c\\u4f0f\\u671f\",\n",
       "                    \"value\": 3331,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(62,75,2)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9634\\u8c0b\\u8bba\",\n",
       "                    \"value\": 3321,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(138,62,115)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e00\\u7ebf\",\n",
       "                    \"value\": 3283,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(14,42,72)\"\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            ],\n",
       "            \"drawOutOfBound\": false,\n",
       "            \"textStyle\": {\n",
       "                \"emphasis\": {}\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [],\n",
       "            \"selected\": {},\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5168\\u56fd\\u65b0\\u578b\\u51a0\\u72b6\\u75c5\\u6bd2\\u75ab\\u60c5\\u8bcd\\u4e91\\u56fe\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_e1ffc72bfc00493ea1d755238c038678.setOption(option_e1ffc72bfc00493ea1d755238c038678);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x21929fb2390>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select k0.keyword, k0.c+k1.c+k2.c+k3.c as c from \n",
    "(select keyword0 keyword,count(*) c from weibo group by keyword0) k0,\n",
    "(select keyword1 keyword,count(*) c from weibo group by keyword1) k1,\n",
    "(select keyword2 keyword,count(*) c from weibo group by keyword2) k2,\n",
    "(select keyword3 keyword,count(*) c from weibo group by keyword3) k3\n",
    "where k0.keyword = k1.keyword and k2.keyword = k1.keyword and k2.keyword = k3.keyword and k1.keyword != '##'\n",
    "order by c desc limit 100;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "\n",
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import WordCloud\n",
    "from pyecharts.globals import SymbolType\n",
    "from pyecharts.globals import CurrentConfig, NotebookType\n",
    "\n",
    "CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_NOTEBOOK\n",
    "\n",
    "\n",
    "words = list(result)\n",
    "c = (\n",
    "        WordCloud()\n",
    "        .add(\"\", words, word_size_range=[20, 100], shape=SymbolType.ROUND_RECT)\n",
    "        .set_global_opts(title_opts=opts.TitleOpts(title='全国新型冠状病毒疫情词云图'))\n",
    "    )\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "对微博数据进行分析，统计所有词频；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1010000 rows affected.\n",
      "10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 120000 130000 140000 150000 160000 170000 180000 190000 200000 210000 220000 230000 240000 250000 260000 270000 280000 290000 300000 310000 320000 330000 340000 350000 360000 370000 380000 390000 400000 410000 420000 430000 440000 450000 460000 470000 480000 490000 500000 510000 520000 530000 540000 550000 560000 570000 580000 590000 600000 610000 620000 630000 640000 650000 660000 670000 680000 690000 700000 710000 720000 730000 740000 750000 760000 770000 780000 790000 800000 810000 820000 830000 840000 850000 860000 870000 880000 890000 900000 910000 920000 930000 940000 950000 960000 970000 980000 990000 1000000 1010000 "
     ]
    }
   ],
   "source": [
    "import jieba\n",
    "from collections import Counter\n",
    "\n",
    "total_data = %sql select content from weibo;\n",
    "cut_words = \"\"\n",
    "all_words = \"\"\n",
    "i = 0\n",
    "for line in total_data:\n",
    "    line = str(line)\n",
    "    i=i+1\n",
    "    seg_list = jieba.cut(line,cut_all=False)\n",
    "    cut_words = (\" \".join(seg_list))\n",
    "    all_words += cut_words\n",
    "    if i%10000 == 0:\n",
    "        print(str(i)+' ',end='')\n",
    "all_words = all_words.split()\n",
    "\n",
    "c = Counter()\n",
    "for x in all_words:\n",
    "    if len(x)>1 and x != '\\r\\n':\n",
    "        c[x] += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "words = []\n",
    "for (k,v) in c.most_common(5000):\n",
    "    # print(k, v)\n",
    "    words.append((k,v))\n",
    "words = words[1:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "words = pd.read_csv('词频前5000.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('疫情', 264740), ('武汉', 229667), ('肺炎', 224960), ('展开', 216745), ('全文', 216276), ('新型', 184562), ('冠状病毒', 137011), ('我们', 129709), ('加油', 123246), ('##', 117351), ('口罩', 115913), ('感染', 112794), ('医院', 107979), ('确诊', 106765), ('中国', 101060), ('病例', 100246), ('病毒', 99095), ('患者', 94574), ('没有', 90569), ('防控', 89573), ('自己', 81245), ('一个', 81225), ('微博', 75482), ('视频', 73078), ('可以', 69695), ('这个', 69277), ('新冠', 64804), ('工作', 64773), ('链接', 64081), ('一起', 60989), ('网页', 60956), ('大家', 60679), ('湖北', 58731), ('真的', 57658), ('医生', 57655), ('就是', 57163), ('隔离', 53838), ('希望', 53808), ('2020', 53516), ('今天', 53186), ('现在', 52990), ('什么', 51651), ('致敬', 47289), ('不是', 45965), ('国家', 45122), ('行动', 43875), ('他们', 43840), ('全国', 43834), ('一线', 43686)]\n"
     ]
    }
   ],
   "source": [
    "all_word = (\" \".join(all_words))\n",
    "print(words)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('疫情', 0.11912294859704146), ('肺炎', 0.11055183921684136), ('全文', 0.09896922233781136), ('武汉', 0.08653435069252709), ('展开', 0.07282289241826259), ('加油', 0.060396253662755174), ('口罩', 0.057737899296916), ('确诊', 0.047917340409658435), ('新冠', 0.045060153220399156), ('病例', 0.043112362196566556), ('感染', 0.04278686859643067), ('病毒', 0.04090026875872963), ('医院', 0.03522556557504731), ('患者', 0.033405320917091134), ('视频', 0.03276271976484176), ('网页', 0.032327948806561826), ('链接', 0.031009521739956396), ('致敬', 0.025251712758224455), ('隔离', 0.02448653098084746), ('医护人员', 0.022201996864772915), ('湖北', 0.02183352867944201), ('医生', 0.020275206438533633), ('打卡', 0.01906030403713307), ('卫健委', 0.01811146889874087), ('出院', 0.017497216222247255), ('中国', 0.01702356334989813), ('大家', 0.016448027627049253), ('治愈', 0.016390183033353274), ('没有', 0.015687250330511104), ('希望', 0.015585062800449967), ('医用', 0.01423829082197198), ('发热', 0.013859673942509093), ('钟南山', 0.013779294200016197), ('转发', 0.013740735889898976), ('健康', 0.013190900738973856), ('治疗', 0.0128036104960136), ('肖战', 0.012562349511614255), ('新闻', 0.012479091615982256), ('防护', 0.012414449293612637), ('新增', 0.012277666352539497), ('酒精', 0.012173722385749347), ('物资', 0.01212093900823893), ('复工', 0.011909280661426484), ('朱一龙', 0.01159714066113227), ('全国', 0.011574160533591114), ('社区', 0.011327061602028836), ('症状', 0.011320896900746403), ('医疗队', 0.01117094804171221), ('上班', 0.011100770212804955), ('平安', 0.010739102817894648)]\n"
     ]
    }
   ],
   "source": [
    "import jieba.analyse\n",
    "# TF-IDF\n",
    "keywords = jieba.analyse.extract_tags(all_word,\n",
    "                                      topK=50,\n",
    "                                      withWeight=True,\n",
    "                                      allowPOS=('a','e','n','nr','ns', 'v')) #词性 形容词 叹词 名词 动词"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "#### 生成TF-IDF统计图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "keywords = [('疫情', 0.11912294859704146), ('肺炎', 0.11055183921684136), ('全文', 0.09896922233781136), ('武汉', 0.08653435069252709), ('展开', 0.07282289241826259), ('加油', 0.060396253662755174), ('口罩', 0.057737899296916), ('确诊', 0.047917340409658435), ('新冠', 0.045060153220399156), ('病例', 0.043112362196566556), ('感染', 0.04278686859643067), ('病毒', 0.04090026875872963), ('医院', 0.03522556557504731), ('患者', 0.033405320917091134), ('视频', 0.03276271976484176), ('网页', 0.032327948806561826), ('链接', 0.031009521739956396), ('致敬', 0.025251712758224455), ('隔离', 0.02448653098084746), ('医护人员', 0.022201996864772915), ('湖北', 0.02183352867944201), ('医生', 0.020275206438533633), ('打卡', 0.01906030403713307), ('卫健委', 0.01811146889874087), ('出院', 0.017497216222247255), ('中国', 0.01702356334989813), ('大家', 0.016448027627049253), ('治愈', 0.016390183033353274), ('没有', 0.015687250330511104), ('希望', 0.015585062800449967), ('医用', 0.01423829082197198), ('发热', 0.013859673942509093), ('钟南山', 0.013779294200016197), ('转发', 0.013740735889898976), ('健康', 0.013190900738973856), ('治疗', 0.0128036104960136), ('肖战', 0.012562349511614255), ('新闻', 0.012479091615982256), ('防护', 0.012414449293612637), ('新增', 0.012277666352539497), ('酒精', 0.012173722385749347), ('物资', 0.01212093900823893), ('复工', 0.011909280661426484), ('朱一龙', 0.01159714066113227), ('全国', 0.011574160533591114), ('社区', 0.011327061602028836), ('症状', 0.011320896900746403), ('医疗队', 0.01117094804171221), ('上班', 0.011100770212804955), ('平安', 0.010739102817894648)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:9: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance.  In a future version, a new instance will always be created and returned.  Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.\n",
      "  if __name__ == '__main__':\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Importance')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "ss = pd.DataFrame(keywords,columns = ['词语','重要性'])     \n",
    "# print(ss)\n",
    "import numpy as np\n",
    "from matplotlib.font_manager import FontProperties\n",
    "plt.figure(figsize=(10,6))\n",
    "plt.title('TF-IDF Ranking')\n",
    "fig = plt.axes()\n",
    "plt.barh(range(len(ss.重要性[:25][::-1])),ss.重要性[:25][::-1])\n",
    "fig.set_yticks(np.arange(len(ss.重要性[:25][::-1])))\n",
    "font = FontProperties(fname=r'c:\\windows\\fonts\\simsun.ttc')\n",
    "fig.set_yticklabels(ss.词语[:25][::-1],fontproperties=font)\n",
    "fig.set_xlabel('Importance')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "查询每日疫情主题关键词数量的前10位"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n",
      "100 rows affected.\n"
     ]
    }
   ],
   "source": [
    "results = []\n",
    "for d in range(1,32):\n",
    "    m = 1\n",
    "    query = \"\"\"\n",
    "    with weibo_d as(\n",
    "        select * from weibo where day = %d and month = %d\n",
    "    )\n",
    "    select k0.keyword, k0.c+k1.c+k2.c+k3.c as c from \n",
    "    (select keyword0 keyword,count(*) c from weibo_d group by keyword0) k0,\n",
    "    (select keyword1 keyword,count(*) c from weibo_d group by keyword1) k1,\n",
    "    (select keyword2 keyword,count(*) c from weibo_d group by keyword2) k2,\n",
    "    (select keyword3 keyword,count(*) c from weibo_d group by keyword3) k3\n",
    "    where k0.keyword = k1.keyword and k2.keyword = k1.keyword and k2.keyword = k3.keyword and k1.keyword != '##'\n",
    "    order by c desc limit 100;\n",
    "    \"\"\"%(d,m)\n",
    "    result = %sql $query\n",
    "    results.append(result)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "生成每日词云图（可在展板中显示，这里先展示第一天的数据）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<script>\n",
       "    require.config({\n",
       "        paths: {\n",
       "            'echarts':'https://assets.pyecharts.org/assets/echarts.min', 'echarts-wordcloud':'https://assets.pyecharts.org/assets/echarts-wordcloud.min'\n",
       "        }\n",
       "    });\n",
       "</script>\n",
       "\n",
       "        <div id=\"9beafba3b026485d882b2fb583efcd67\" style=\"width:900px; height:500px;\"></div>\n",
       "\n",
       "<script>\n",
       "        require(['echarts', 'echarts-wordcloud'], function(echarts) {\n",
       "                var chart_9beafba3b026485d882b2fb583efcd67 = echarts.init(\n",
       "                    document.getElementById('9beafba3b026485d882b2fb583efcd67'), 'white', {renderer: 'canvas'});\n",
       "                var option_9beafba3b026485d882b2fb583efcd67 = {\n",
       "    \"animation\": true,\n",
       "    \"animationThreshold\": 2000,\n",
       "    \"animationDuration\": 1000,\n",
       "    \"animationEasing\": \"cubicOut\",\n",
       "    \"animationDelay\": 0,\n",
       "    \"animationDurationUpdate\": 300,\n",
       "    \"animationEasingUpdate\": \"cubicOut\",\n",
       "    \"animationDelayUpdate\": 0,\n",
       "    \"color\": [\n",
       "        \"#c23531\",\n",
       "        \"#2f4554\",\n",
       "        \"#61a0a8\",\n",
       "        \"#d48265\",\n",
       "        \"#749f83\",\n",
       "        \"#ca8622\",\n",
       "        \"#bda29a\",\n",
       "        \"#6e7074\",\n",
       "        \"#546570\",\n",
       "        \"#c4ccd3\",\n",
       "        \"#f05b72\",\n",
       "        \"#ef5b9c\",\n",
       "        \"#f47920\",\n",
       "        \"#905a3d\",\n",
       "        \"#fab27b\",\n",
       "        \"#2a5caa\",\n",
       "        \"#444693\",\n",
       "        \"#726930\",\n",
       "        \"#b2d235\",\n",
       "        \"#6d8346\",\n",
       "        \"#ac6767\",\n",
       "        \"#1d953f\",\n",
       "        \"#6950a1\",\n",
       "        \"#918597\"\n",
       "    ],\n",
       "    \"series\": [\n",
       "        {\n",
       "            \"type\": \"wordCloud\",\n",
       "            \"shape\": \"circle\",\n",
       "            \"rotationRange\": [\n",
       "                -90,\n",
       "                90\n",
       "            ],\n",
       "            \"rotationStep\": 45,\n",
       "            \"girdSize\": 20,\n",
       "            \"sizeRange\": [\n",
       "                20,\n",
       "                100\n",
       "            ],\n",
       "            \"data\": [\n",
       "                {\n",
       "                    \"name\": \"2020\",\n",
       "                    \"value\": 1353,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(29,157,43)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"2019\",\n",
       "                    \"value\": 442,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(125,132,65)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u80ba\\u708e\",\n",
       "                    \"value\": 292,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(14,15,91)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5fae\\u535a\",\n",
       "                    \"value\": 276,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(8,151,125)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6253\\u5361\",\n",
       "                    \"value\": 257,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(41,50,158)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65b0\\u5e74\",\n",
       "                    \"value\": 242,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(87,21,15)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7f51\\u9875\",\n",
       "                    \"value\": 209,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(27,158,66)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u671d\\u9633\\u533b\\u9662\",\n",
       "                    \"value\": 208,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(75,9,52)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u52a0\\u6cb9\",\n",
       "                    \"value\": 206,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(145,8,33)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u97e9\\u7ea2\",\n",
       "                    \"value\": 206,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(40,22,122)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u65b0\\u5e74\\u5feb\\u4e50\",\n",
       "                    \"value\": 197,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(2,9,23)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6d77\\u9c9c\",\n",
       "                    \"value\": 187,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(104,10,141)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4f11\\u5e02\",\n",
       "                    \"value\": 170,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(142,144,45)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u94fe\\u63a5\",\n",
       "                    \"value\": 150,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(77,2,32)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6b66\\u6c49\",\n",
       "                    \"value\": 141,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(61,25,84)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u89c6\\u9891\",\n",
       "                    \"value\": 132,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(148,69,40)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5fd7\\u613f\\u8005\",\n",
       "                    \"value\": 126,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(52,25,60)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53d1\\u70e7\",\n",
       "                    \"value\": 121,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(138,99,43)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5317\\u4eac\\u671d\\u9633\\u533b\\u9662\",\n",
       "                    \"value\": 119,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(79,5,73)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7b2c\\u4e00\\u5929\",\n",
       "                    \"value\": 118,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(122,154,93)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u8003\",\n",
       "                    \"value\": 115,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(144,140,148)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u81f4\\u656c\",\n",
       "                    \"value\": 115,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(25,75,117)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"10\",\n",
       "                    \"value\": 110,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(129,160,146)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6ca1\\u4e8b\",\n",
       "                    \"value\": 105,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(1,160,92)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8de8\\u5e74\",\n",
       "                    \"value\": 105,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(72,128,8)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"20\",\n",
       "                    \"value\": 100,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(51,32,48)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"12\",\n",
       "                    \"value\": 97,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(61,24,1)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e0a\\u73ed\",\n",
       "                    \"value\": 96,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(26,87,119)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5730\\u7403\",\n",
       "                    \"value\": 95,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(131,127,49)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e2d\\u533b\\u836f\\u5927\\u5b66\",\n",
       "                    \"value\": 94,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(56,71,132)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8bfb\\u4e66\",\n",
       "                    \"value\": 90,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(107,113,113)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6cbb\\u6108\",\n",
       "                    \"value\": 88,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(115,52,109)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9694\\u79bb\\u971c\",\n",
       "                    \"value\": 81,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(55,78,8)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53d1\\u70ed\",\n",
       "                    \"value\": 79,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(12,124,99)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7948\\u798f\",\n",
       "                    \"value\": 76,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(49,77,2)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u54b3\\u55fd\",\n",
       "                    \"value\": 75,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(127,130,95)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u597d\\u4f1a\",\n",
       "                    \"value\": 75,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(138,155,126)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8096\\u6218\",\n",
       "                    \"value\": 69,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(28,3,22)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5c45\\u5bb6\",\n",
       "                    \"value\": 69,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(102,114,12)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u75c5\\u6bd2\\u6027\",\n",
       "                    \"value\": 68,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(33,102,92)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u611f\\u5192\",\n",
       "                    \"value\": 67,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(7,45,55)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u75ab\\u82d7\",\n",
       "                    \"value\": 64,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(116,55,116)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6218\\u6597\",\n",
       "                    \"value\": 63,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(9,15,43)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f00\\u5fc3\",\n",
       "                    \"value\": 60,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(123,94,16)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"0101\",\n",
       "                    \"value\": 60,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(97,56,99)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u987a\\u987a\\u5229\\u5229\",\n",
       "                    \"value\": 58,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(148,60,48)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u521d\\u5fc3\",\n",
       "                    \"value\": 56,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(135,123,115)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"19\",\n",
       "                    \"value\": 55,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(108,88,144)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ad8\\u8003\",\n",
       "                    \"value\": 55,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(112,105,61)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e4b\\u4e0b\",\n",
       "                    \"value\": 55,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(41,107,159)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"UNINE\",\n",
       "                    \"value\": 55,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(138,116,96)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"BGM\",\n",
       "                    \"value\": 54,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(118,60,122)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u54c8\\u54c8\\u54c8\",\n",
       "                    \"value\": 54,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(11,80,160)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e01\\u9999\",\n",
       "                    \"value\": 51,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(47,120,129)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5b9d\\u5b9d\",\n",
       "                    \"value\": 51,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(66,123,33)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u751f\",\n",
       "                    \"value\": 50,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(151,135,76)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6797\\u4fca\\u6770\",\n",
       "                    \"value\": 50,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(79,152,31)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5218\\u5b87\\u5b81\",\n",
       "                    \"value\": 49,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(116,111,89)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u554a\\u554a\\u554a\",\n",
       "                    \"value\": 49,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(78,32,97)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fd0\\u52bf\",\n",
       "                    \"value\": 48,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(22,87,82)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u547c\\u5438\\u56f0\\u96be\",\n",
       "                    \"value\": 48,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(152,62,136)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u771f\\u7684\",\n",
       "                    \"value\": 48,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(59,81,98)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9152\\u7cbe\",\n",
       "                    \"value\": 48,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(124,71,116)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6211\\u8981\",\n",
       "                    \"value\": 47,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(93,92,56)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53e3\\u7f69\",\n",
       "                    \"value\": 47,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(1,85,9)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u53d1\\u5149\",\n",
       "                    \"value\": 47,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(33,27,144)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5fc3\\u613f\",\n",
       "                    \"value\": 46,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(126,70,49)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u665a\\u5b89\",\n",
       "                    \"value\": 46,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(39,97,137)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4e00\\u5e74\",\n",
       "                    \"value\": 45,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(89,105,129)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"50\",\n",
       "                    \"value\": 45,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(141,38,112)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5143\\u65e6\",\n",
       "                    \"value\": 44,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(44,150,51)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"...\",\n",
       "                    \"value\": 44,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(5,60,40)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u60a3\\u8005\",\n",
       "                    \"value\": 44,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(31,32,6)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u4eca\\u65e5\",\n",
       "                    \"value\": 43,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(111,133,104)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u75c5\\u4f8b\",\n",
       "                    \"value\": 43,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(143,90,100)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5e0c\\u671b\",\n",
       "                    \"value\": 43,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(105,3,140)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u76f4\\u64ad\",\n",
       "                    \"value\": 43,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(160,83,75)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5feb\\u4e50\",\n",
       "                    \"value\": 42,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(106,64,116)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7eff\\u8272\",\n",
       "                    \"value\": 42,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(72,104,153)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"9.9\",\n",
       "                    \"value\": 41,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(84,56,140)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"TFBOYS\",\n",
       "                    \"value\": 40,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(23,14,88)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7a7f\\u5c71\\u7532\",\n",
       "                    \"value\": 40,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(145,37,157)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8bf7\\u9662\",\n",
       "                    \"value\": 40,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(140,87,128)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8001\\u5e08\",\n",
       "                    \"value\": 39,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(124,42,32)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8759\\u8760\",\n",
       "                    \"value\": 39,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(2,27,125)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u9ad8\\u901f\",\n",
       "                    \"value\": 39,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(44,160,117)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u660e\\u5929\",\n",
       "                    \"value\": 39,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(103,29,6)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u62a4\\u58eb\",\n",
       "                    \"value\": 38,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(160,73,61)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"xz\",\n",
       "                    \"value\": 38,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(108,107,127)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u611f\\u67d3\\u529b\",\n",
       "                    \"value\": 38,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(66,86,25)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"2020.1\",\n",
       "                    \"value\": 38,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(39,102,13)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u8fb9\\u4f2f\\u8d24\",\n",
       "                    \"value\": 38,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(68,98,152)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u7c73\\u5947\",\n",
       "                    \"value\": 37,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(144,136,71)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u51fa\\u9662\",\n",
       "                    \"value\": 36,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(107,64,86)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"30\",\n",
       "                    \"value\": 36,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(134,122,59)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u5f90\\u5764\",\n",
       "                    \"value\": 36,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(2,36,134)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u6b66\\u6c49\\u5e02\",\n",
       "                    \"value\": 36,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(132,66,6)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u79c1\\u804a\",\n",
       "                    \"value\": 36,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(26,127,150)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u533b\\u7528\",\n",
       "                    \"value\": 36,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(151,83,57)\"\n",
       "                        }\n",
       "                    }\n",
       "                },\n",
       "                {\n",
       "                    \"name\": \"\\u90d1\\u723d\",\n",
       "                    \"value\": 36,\n",
       "                    \"textStyle\": {\n",
       "                        \"normal\": {\n",
       "                            \"color\": \"rgb(33,10,80)\"\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "            ],\n",
       "            \"drawOutOfBound\": false,\n",
       "            \"textStyle\": {\n",
       "                \"emphasis\": {}\n",
       "            }\n",
       "        }\n",
       "    ],\n",
       "    \"legend\": [\n",
       "        {\n",
       "            \"data\": [],\n",
       "            \"selected\": {},\n",
       "            \"show\": true,\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10,\n",
       "            \"itemWidth\": 25,\n",
       "            \"itemHeight\": 14\n",
       "        }\n",
       "    ],\n",
       "    \"tooltip\": {\n",
       "        \"show\": true,\n",
       "        \"trigger\": \"item\",\n",
       "        \"triggerOn\": \"mousemove|click\",\n",
       "        \"axisPointer\": {\n",
       "            \"type\": \"line\"\n",
       "        },\n",
       "        \"textStyle\": {\n",
       "            \"fontSize\": 14\n",
       "        },\n",
       "        \"borderWidth\": 0\n",
       "    },\n",
       "    \"title\": [\n",
       "        {\n",
       "            \"text\": \"\\u5168\\u56fd\\u65b0\\u578b\\u51a0\\u72b6\\u75c5\\u6bd2\\u75ab\\u60c5\\u8bcd\\u4e91\\u56fe\",\n",
       "            \"padding\": 5,\n",
       "            \"itemGap\": 10\n",
       "        }\n",
       "    ]\n",
       "};\n",
       "                chart_9beafba3b026485d882b2fb583efcd67.setOption(option_9beafba3b026485d882b2fb583efcd67);\n",
       "        });\n",
       "    </script>\n"
      ],
      "text/plain": [
       "<pyecharts.render.display.HTML at 0x1ae2dd8cf60>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import WordCloud\n",
    "from pyecharts.globals import SymbolType\n",
    "from pyecharts.globals import CurrentConfig, NotebookType\n",
    "\n",
    "CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_NOTEBOOK\n",
    "\n",
    "\n",
    "words = list(results[0])\n",
    "c = (\n",
    "        WordCloud()\n",
    "        .add(\"\", words, word_size_range=[20, 100], shape=SymbolType.ROUND_RECT)\n",
    "        .set_global_opts(title_opts=opts.TitleOpts(title='全国新型冠状病毒疫情词云图'))\n",
    "    )\n",
    "c.render_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 对于部分关键词进行随时间变化的频数分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "50 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 50 artists>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select month||'-'||day as time,count(*) from weibo where keyword0 = '疫情' or keyword1 = '疫情' or keyword2 = '疫情' or keyword3 = '疫情' group by month,day;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "“疫情”这样的词语相对具有官方口径，是在1月20日左右随着官方承认武汉病毒存在人传人的现象的情况下开始被提及，并随之成为高频词；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "50 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 50 artists>"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select month||'-'||day as time,count(*) from weibo where keyword0 = '武汉' or keyword1 = '武汉' or keyword2 = '武汉' or keyword3 = '武汉' group by month,day;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "“武汉”在开始阶段被少量提及，在开始封城的时候达到高峰；随着疫情扩散到全国，频次缓慢下降。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## 微博情感分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "统计总体情感平均值随日期的变化："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "50 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 50 artists>"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = %sql select month, day, avg(sentiments) from weibo group by day,month order by month,day;\n",
    "%matplotlib inline\n",
    "x.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "总体而言，疫情相关的微博情感倾向还是偏正面或中性；在1.19前，情感平均值较高，约为0.2；在1.19，疫情开始在全国扩散开来并且钟南山宣布人传人之后，情感平均值下降到了0，1附近；在2.18、2.19时，可能由于疫情国内接近拐点，情感分析数值又有显著提高；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "统计情感分析数值在每个0.1区间中的数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 11 artists>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = %sql select round(sentiments::numeric,1),count(*) from weibo group by round(sentiments::numeric,1) order by round(sentiments::numeric,1);\n",
    "%matplotlib inline\n",
    "x.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "大部分情感分析数值集中在0.5和-0.5的区间，呈两头凸起中间凹陷型，表明存在舆论的两极分化；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "根据主题词数量排名前15的主题词，查看其平均情感分析结果："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "15 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 15 artists>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select key, avg(sentiments) from \n",
    "(select k0.keyword as key, k0.c+k1.c+k2.c+k3.c as c from \n",
    "(select keyword0 keyword,count(*) c from weibo group by keyword0) k0,\n",
    "(select keyword1 keyword,count(*) c from weibo group by keyword1) k1,\n",
    "(select keyword2 keyword,count(*) c from weibo group by keyword2) k2,\n",
    "(select keyword3 keyword,count(*) c from weibo group by keyword3) k3\n",
    "where k0.keyword = k1.keyword and k2.keyword = k1.keyword and k2.keyword = k3.keyword and k1.keyword != '##'\n",
    "order by c desc limit 15) top, weibo\n",
    "where weibo.keyword0 = key or weibo.keyword1 = key or weibo.keyword2 = key or weibo.keyword3 = key\n",
    "group by key,c order by c desc;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "import matplotlib as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "49 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 49 artists>"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select month||'-'||day as time,avg(sentiments) from weibo where keyword0 = '肺炎' or keyword1 = '肺炎' or keyword2 = '肺炎' or keyword3 = '肺炎' group by month,day;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "- 在疫情早期阶段，对于肺炎一词的情感分析波动较大，可能原因是官方的反复辟谣，以及民间的小道消息传递；\n",
    "- 在后期情感分析数值较为稳定，呈微弱的正面倾向，也体现了众志成城抗击疫情主要舆论导向；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "#### 对于李文亮医生的情感数值追踪分析：\n",
    "\n",
    "查看提及李文亮医生的微博频次"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "27 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 27 artists>"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select month||'-'||day as time,count(*) from weibo where keyword0 = '李文亮' or keyword1 = '李文亮' or keyword2 = '李文亮' or keyword3 = '李文亮' group by month,day;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "对相关微博根据日期进行情感分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "27 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 27 artists>"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select month||'-'||day as time,avg(sentiments) from weibo where keyword0 = '李文亮' or keyword1 = '李文亮' or keyword2 = '李文亮' or keyword3 = '李文亮' group by month,day;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "- 在开始阶段多为负面情感，可能由于官方宣布“新冠”为谣言；\n",
    "- 随着疫情的爆发，正面评价开始出现，并在李文亮医生去世之后达到高峰；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "#### 对双黄连可防治新冠的谣言情感追踪分析；\n",
    "\n",
    "查看提及双黄连的微博频次"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "49 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 49 artists>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select month||'-'||day as time,count(*) from weibo where keyword0 = '双黄连' or keyword1 = '双黄连' or keyword2 = '双黄连' or keyword3 = '双黄连' group by month,day;\n",
    "\"\"\"\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "随着双黄连的谣言产生，相关微博数量达到高峰；随后成逐步下降趋势。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "21 rows affected.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 21 artists>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "query = \"\"\"\n",
    "select month||'-'||day as time,avg(sentiments) from weibo where keyword0 = '双黄连' or keyword1 = '双黄连' or keyword2 = '双黄连' or keyword3 = '双黄连' group by month,day having month = 2 or (month = 1 and day >28);\n",
    "\"\"\"\n",
    "%matplotlib inline\n",
    "result = %sql $query\n",
    "result.bar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "- 总体来看，成正面评论和负面评论交替的趋势；\n",
    "- 在谣言出现的当天(1.31，微博情感分析成负面倾向；表明了大多数网民还是相对受教育的群体，对双黄连的效果此怀疑态度；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 有待完善\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "- 可以对该数据集分为两个阶段进行分析：\n",
    "    - 1.20号前对于疫情的关注还未上升到主要阶段，但已经出现征兆；\n",
    "    - 1.20里后，抗击疫情成为主要舆论；\n",
    "- 可以做一些主题关联分析；\n",
    "- 部分分析还未完善，也未和疫情数据进行关联；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}